package com.wsd.smartcarwasher.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "优惠券")
public class Coupon {
    @ApiModelProperty(value = "优惠券id")
    private Integer couponId;
    @ApiModelProperty(value = "名称")
    private String couponName;
    //优惠券状态 0-正常 1-下架 3 -已生成
    @ApiModelProperty(value = "状态 0-正常 1-下架")
    private int status;
    //优惠券类型1-满减型 2百分比优惠型
    @ApiModelProperty(value = "类型 1-满减型 2百分比优惠型")
    private int type;
    //满减优惠价格
    @ApiModelProperty(value = "满减优惠价格")
    private BigDecimal couponPrice;
    //满减型优惠券使用价格
    @ApiModelProperty(value = "满减型优惠券使用价格")
    private BigDecimal fullPrice;
    //优惠百分比
    @ApiModelProperty(value = "优惠百分比")
    private BigDecimal couponRate;
    //百分比优惠券使用条件
    @ApiModelProperty(value = "百分比优惠券使用条件")
    private String useCondition;
    //有效时长 -1为永久有效，
    @ApiModelProperty(value = "有效时长 -1为永久有效")
    private int validDate;
    //优惠卷码
    /*@ApiModelProperty(value = "优惠卷码")
    private String couponCode;*/
    //优惠卷数量　　－１　为　不计数　
    @ApiModelProperty(value = "优惠卷数量 最大不超过500")
    private int couponNum=-1;
    /*@ApiModelProperty(value = "同一个用户是否可以多次领取　０／１　否／是")
    private int isMultiple=1;*/
    @ApiModelProperty(value = "可被使用的次数　－１　不计数")
    private int useNum=1;
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss",
            timezone = "GMT+8"
    )
    @ApiModelProperty(value = "优惠卷创建时间")
    private Date time;
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss",
            timezone = "GMT+8"
    )
    @ApiModelProperty(value = "优惠卷生效时间")
    private Date startTime;
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss",
            timezone = "GMT+8"
    )
    @ApiModelProperty(value = "优惠卷过期时间")
    private Date endTime;

    @ApiModelProperty("适用的门店编号，中间使用逗号隔开")
    private String availableMachines;
    @ApiModelProperty("门店id")
    private String storeId;
    @ApiModelProperty("商家id")
    private String partnerId;
    @ApiModelProperty("已经被领取的数量")
    private int getNumber;
    @ApiModelProperty("优惠券的二维码")
    private String wxCode;

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    private String storeName;
    private String machineName;

    public String getMachineName() {
        return machineName;
    }

    public void setMachineName(String machineName) {
        this.machineName = machineName;
    }

    public String getWxCode() {
        return wxCode;
    }

    public void setWxCode(String wxCode) {
        this.wxCode = wxCode;
    }

    public String getStoreId() {
        return storeId;
    }

    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }

    public String getPartnerId() {
        return partnerId;
    }

    public void setPartnerId(String partnerId) {
        this.partnerId = partnerId;
    }

    public int getGetNumber() {
        return getNumber;
    }

    public void setGetNumber(int getNumber) {
        this.getNumber = getNumber;
    }

    public String getAvailableMachines() {
        return availableMachines;
    }

    public void setAvailableMachines(String availableMachines) {
        this.availableMachines = availableMachines;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getCouponId() {
        return couponId;
    }

    public void setCouponId(Integer couponId) {
        this.couponId = couponId;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public BigDecimal getCouponPrice() {
        return couponPrice;
    }

    public void setCouponPrice(BigDecimal couponPrice) {
        this.couponPrice = couponPrice;
    }

    public BigDecimal getFullPrice() {
        return fullPrice;
    }

    public void setFullPrice(BigDecimal fullPrice) {
        this.fullPrice = fullPrice;
    }

    public BigDecimal getCouponRate() {
        return couponRate;
    }

    public void setCouponRate(BigDecimal couponRate) {
        this.couponRate = couponRate;
    }

    public String getUseCondition() {
        return useCondition;
    }

    public void setUseCondition(String useCondition) {
        this.useCondition = useCondition;
    }

    public int getValidDate() {
        return validDate;
    }

    public void setValidDate(int validDate) {
        this.validDate = validDate;
    }

    /*public String getCouponCode() {
        return couponCode;
    }

    public void setCouponCode(String couponCode) {
        this.couponCode = couponCode;
    }*/

    public int getCouponNum() {
        return couponNum;
    }

    public void setCouponNum(int couponNum) {
        this.couponNum = couponNum;
    }

   /* public int getIsMultiple() {
        return isMultiple;
    }

    public void setIsMultiple(int isMultiple) {
        this.isMultiple = isMultiple;
    }*/

    public int getUseNum() {
        return useNum;
    }

    public void setUseNum(int useNum) {
        this.useNum = useNum;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }
}
